# 使用官方的Maven镜像作为构建环境
FROM maven:3.8.8-eclipse-temurin-17 AS builder

# 设置工作目录
WORKDIR /app

# 复制pom.xml文件并下载依赖（利用Docker缓存机制）
COPY pom.xml .
RUN mvn dependency:go-offline

# 复制源代码并构建项目
COPY src ./src
RUN mvn clean package -DskipTests

# 使用官方的Java运行时镜像作为运行环境
FROM eclipse-temurin:17-jre-alpine

# 设置工作目录
WORKDIR /app

# 从构建环境复制构建好的jar文件到运行环境
COPY --from=builder /app/target/deepseek-backend-1.0-SNAPSHOT.jar app.jar

# 创建上传目录（如果应用需要）
RUN mkdir -p /app/uploads && chmod 755 /app/uploads

# 设置环境变量
ENV SPRING_PROFILES_ACTIVE=prod
ENV JAVA_OPTS="-Xms512m -Xmx1024m"

# 暴露应用端口（根据application.properties中的server.port设置）
EXPOSE 1234

# 设置启动命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]